package io.esirong.manager.login;

import android.app.Activity;
import android.util.Log;

import io.esirong.ActivityManager;
import io.esirong.manager.AccountManager;

/**
 * @ClassName: LoginManager
 * @Description: 登录管理
 * @author: huangrongcai
 * @date: 2022/9/17
 */
public class LoginManager {
    /**
     * 当前用户是不是处于登录有效
     *
     * @return 登录有效返回true, 其他返回false
     */
    public static boolean isLogin() {
        return AccountManager.getAccessToken() != null;
    }

    /**
     * 当前用户是不是处于非登录有效
     *
     * @return 非登录返回true, 其他返回false
     */
    public static boolean isLogout() {
        return AccountManager.getAccessToken() == null;
    }

    /**
     * Logs out the user.
     */
    public void logOut() {
        AccountManager.setAccessToken(null);
    }

    public void login() {
    }

    /**
     * 启用登录（唤起登录）
     */
    public static void launchLogin() {
        //唤起登录界面
    }

    /**
     * 启用登出（）
     */
    public static void launchLogout() {

    }

    public static void launchOnx1() {
        final Activity activity = ActivityManager.INSTANCE.getCurrentActivity();
        if (activity != null) {

            activity.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    //
                }
            });
        }
    }

    public static void handleFailed(String code) {
        if (Login.LOGGED_ANOTHER_DEVICE.equals(code)) {
            Log.e("TAG", "帐号在其他设备登录了");
            LoginManager.launchOnx1();
        } else {
            //掉线
            LoginManager.launchLogout();
        }

    }

    /**
     * 错误码定义
     */
    interface Login {
        /**
         * 登录在其他设备
         */
        String LOGGED_ANOTHER_DEVICE = "logged_another_device";
    }
}
